package com.timmy.mvpdemo.activity;

import android.os.Bundle;
import android.util.Log;

import com.timmy.mvpdemo.R;
import com.timmy.mvpdemo.interfa.RequestView;
import com.timmy.mvpdemo.presenter.RequestPresenter;

/**
 * @author Timmy
 *         <p>
 *         1. 是会内存泄露，因为persenter一直持有Activity，如果一个发了一个请求，
 *         但是网络有点慢，这个时候退出Activity，那么请求回来后还是会调用
 *         2.如果已经退出了当前界面，这个请求也没有用了，这个时候我们可以断开请求
 *         Activity的回调方法，这里还是因为一直持有的问题
 *         解决问题：
 *         1.增加绑定和解绑的方法来解决内存泄露和退出后还会回调的问题
 *         2、增加断开网络连接的方法
 */
public class MainActivity extends AbstractMvpActivity<RequestView, RequestPresenter> implements RequestView {

    private static final String TAG = MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        RequestPresenter presenter = getPresenter();

        if (presenter!=null) {
            presenter.clickRequest();
        }
    }

    @Override
    protected RequestPresenter createrPresenter() {
        return new RequestPresenter();
    }

    @Override
    public void requestLoading() {
        Log.i(TAG, "requestLoading");
    }

    @Override
    public void resultSuccess(String result) {
        Log.i(TAG, "resultSuccess");
    }

    @Override
    public void resultFailure(String result) {
        Log.i(TAG, "resultFailure");

    }
}
